The present invention relates to a system and method for connecting a computer system to a peripheral device generally and, more particularly, to a system and/or method for interfacing a computer system to a Universal Serial Bus (USB) peripheral device.
A computer system can be connected to a plurality of peripheral devices, such as a printer, a keyboard and a mouse. A Universal Serial Bus (USB) can be used to connect the peripheral devices to the computer system. The USB provides an easy and reliable connection to the peripheral devices by using a standardized connector and form factor. The USB can also make operating the peripheral devices with the computer easier and more reliable than using various different types of communication ports. The computer to which the peripheral devices are connected by the USB is known as the xe2x80x9chost computerxe2x80x9d. The USB replaces multiple cable and connector types with a single standardized connection system. The USB also permits the connection and disconnection of USB compatible peripheral devices while the computer is turned on.
When a peripheral device is first connected to the USB, the host computer detects the presence of the connected peripheral device and a configuration process (e.g., enumeration) begins. The enumeration process assigns a unique USB address to the connected peripheral device, queries the connected peripheral device about requirements and capabilities, writes data about the connected peripheral device into the operating system (OS) of the host computer and loads the appropriate software device driver from a storage location into the operating system. The device driver is a program that allows the OS to communicate correctly with the peripheral device and provides information to the computer operating system about the peripheral device.
A number of standard device drivers can be an integral part of the operating system. Operating systems (e.g., Windows Me, Windows 2000, trademarks of Microsoft, and versions of MacOS, a trademark of Apple Computer), can have a xe2x80x9cclassxe2x80x9d driver that supports any xe2x80x9cmass storagexe2x80x9d device complying with the requirements of the USB Mass Storage Class Specification. Conventionally, USB peripherals whose functionality does not fall into one of the categories defined in one of the various USB class specifications are shipped with a floppy disk or CD-ROM containing the device drivers.
When the location of the appropriate software driver is not known to the operating system, the operating system can query the user for the location of the driver (e.g., drive name and directory) and load the appropriate software device driver from a storage location specified. Upon completion of the enumeration process, the connected peripheral device is recognized by the operating system and may be used by application software being executed by the host computer.
Providing the device drivers on a floppy disk or CD-ROM adds to the cost of the peripheral. After initial installation, the end user can misplace or damage the original media on which the drivers are stored, resulting in difficulty when installing the peripheral device on a different computer in the future. The floppy disk or CD-ROM can place physical constraints on the size and form factor of packaging in which the USB peripheral is supplied. The constraints on size and form factor can (i) increase shipping cost during distribution (e.g., land and sea freight is charged by volume), (ii) affect the effectiveness of the marketing function of the package (e.g., reduce the attractiveness of its appearance) and (iii) affect the location in a retail outlet where the product can be sold (e.g. shelf vs hanging rack) which may in turn affect the margins demanded by the distributor and/or the retailer.
Because airfreight may add significantly to media cost and media duplication is frequently not cheapest in the immediate locality of low cost electronics manufacturing, media duplication can take as much as 2 months when transportation time is taken into account. Economies of scale can lead to the purchase of larger volumes of media than are required for a single manufacturing batch of a peripheral. The purchase of large volumes of media can result in capital being tied up in inventory. In addition, because any change or improvement in the peripheral device that results in a change to the device driver(s) can require the manufacture of new media, the purchase of a large volume of media can reduce opportunities for innovation or quality improvement in the product. Thus, any change in device drivers can involve up to the 2 months lead time to implement, and possibly a costly write-off of obsolete media inventory.
The present invention concerns a peripheral device comprising a computer readable media and an interface circuit. The computer readable media may be configured to store instructions for operating the peripheral device. The interface circuit may be configured to communicate the instructions to an operating system of a computer in response to connection of the peripheral device to the computer.
The objects, features and advantages of the present invention include providing a method and/or architecture for USB peripheral devices to provide device drivers to an operating system that may (i) eliminate need for floppy disk or CD-ROM, (ii) reduce capital tied up in inventory, (iii) eliminate inventory write-off when device driver are upgraded, (iv) reduced shipping and packaging costs, (v) eliminate problem of lost or damaged media, (vi) make device driver available whenever device is connected, (vii) reduced physical constraints on the size and form factor of the packaging in which a USB peripheral is supplied, (viii) increase the industrial design options open to the packaging designer, and/or (ix) reduce inventory resulting in faster time to market by removing a potentially long lead time component.